﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CAOS.Entity;
using CAOS.Context;

namespace CAOS.UnityOfWork
{
    public class SistemaRepository : GenericRepository<Sistema>
    {
        public SistemaRepository(CAOSContext context)
            : base(context)
        {
        }

        public override void Insert(Sistema entity)
        {
            if (this.Exists(s => s.Sigla.Equals(entity.Sigla, StringComparison.InvariantCultureIgnoreCase)))
            {
                throw new CAOSDALException("Já existe um sistema com o login informado.");
            }

            base.Insert(entity);

            Papel papel = new Papel();
            papel.Codigo = "Admin";
            papel.Nome = "Administrador";
            papel.IsPapelGestor = true;
            papel.Sistema = entity;
            context.Papeis.Add(papel);
        }
    }
}
